home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / kernel / dev / ds3100.md / devInit.c < prev    next >
C/C++ Source or Header  |  1992-12-18  |  3KB  |  96 lines

  1. /*
  2.  * devInit.c --
  3.  *
  4.  *    This has a weak form of autoconfiguration for mapping in various
  5.  *    devices and calling their initialization routines.  The file
  6.  *    devConfig.c has the tables which list devices, their physical
  7.  *    addresses, and their initialization routines.
  8.  *
  9.  *    Copyright (C) 1989 Digital Equipment Corporation.
  10.  *    Permission to use, copy, modify, and distribute this software and
  11.  *    its documentation for any purpose and without fee is hereby granted,
  12.  *    provided that the above copyright notice appears in all copies.  
  13.  *    Digital Equipment Corporation makes no representations about the
  14.  *    suitability of this software for any purpose.  It is provided "as is"
  15.  *    without express or implied warranty.
  16.  */
  17.  
  18. #ifndef lint
  19. static char rcsid[] = "$Header: /cdrom/src/kernel/Cvsroot/kernel/dev/ds3100.md/devInit.c,v 9.0 89/09/12 15:01:25 douglis Stable $ SPRITE (Berkeley)";
  20. #endif not lint
  21.  
  22. #include "sprite.h"
  23. #include "devInt.h"
  24. #include "graphics.h"
  25. #include "vm.h"
  26. #include "dbg.h"
  27. #include "sysStats.h"
  28. #include "string.h"
  29.  
  30. int devConfigDebug = FALSE;
  31.  
  32. /*
  33.  * ----------------------------------------------------------------------------
  34.  *
  35.  * Dev_Init --
  36.  *
  37.  *    Initialize the timer and the keyboard, and set up the allocator
  38.  *    for the device spaces.  Device initialization routines are called
  39.  *    later by Dev_Config.
  40.  *
  41.  * Results:
  42.  *     none
  43.  *
  44.  * Side effects:
  45.  *     Some devices are initialized, and the IO buffer allocater is set up.
  46.  *
  47.  * ----------------------------------------------------------------------------
  48.  */
  49.  
  50. void
  51. Dev_Init()
  52. {
  53.     DevTtyInit();
  54.     DevGraphicsInit();
  55. }
  56.  
  57.  
  58. /*
  59.  *----------------------------------------------------------------------
  60.  *
  61.  * Dev_Config --
  62.  *
  63.  *    Call the initialization routines for various controllers and
  64.  *    devices based on configuration tables.  This should be called
  65.  *    after the regular memory allocater is set up so the drivers
  66.  *    can use it to configure themselves.
  67.  *
  68.  * Results:
  69.  *    None.
  70.  *
  71.  * Side effects:
  72.  *    Call the controller and device initialization routines.
  73.  *
  74.  *----------------------------------------------------------------------
  75.  */
  76. void
  77. Dev_Config()
  78. {
  79.     register int            index;
  80.     ClientData                callBackData;
  81.     register DevConfigController    *cntrlrPtr;
  82.  
  83.     if (devConfigDebug) {
  84.     printf("Dev_Config calling debugger:");
  85.     DBG_CALL;
  86.     }
  87.     for (index = 0; index < devNumConfigCntrlrs; index++) {
  88.     cntrlrPtr = &devCntrlr[index];
  89.     callBackData = (*cntrlrPtr->initProc)(cntrlrPtr);
  90.     if (callBackData != DEV_NO_CONTROLLER) {
  91.         printf("%s at kernel address %x\n", cntrlrPtr->name,
  92.                cntrlrPtr->address);
  93.     }
  94.     }
  95. }
  96.